#!/bin/bash
# 镜像名称
IMAGE_NAME="docwork-server:v1"

# 容器名称
CONTAINER_NAME="docwork-server"

# 主机路径
HOST_PATH=$(pwd)

# 配置文件路径
CONFIG_FILE="$HOST_PATH/config.yaml"

# 日志文件路径
LOGS_DIR="$HOST_PATH/logs/"

# 其他路径
OTHER_DIR="$HOST_PATH/webapp_attachments/"


# 加载镜像 $IMAGE_NAME..."
docker load -i docwork-server.tar
if [ $? -ne 0 ]; then
  echo "镜像加载失败，请检查文件路径或文件完整性"
  exit 1
fi

# 检查镜像是否存在
docker image inspect $IMAGE_NAME >/dev/null 2>&1
if [ $? -ne 0 ]; then
  echo "镜像 $IMAGE_NAME 不存在，请先构建镜像"
  exit 1
fi

# 检查容器是否在运行
if [ "$(docker ps -q -f name=$CONTAINER_NAME)" ]; then
  echo "容器 $CONTAINER_NAME 正在运行，无需重复启动"
  exit 0
fi

# 检查容器是否存在（已停止）
if [ "$(docker ps -aq -f status=exited -f name=$CONTAINER_NAME)" ]; then
  echo "容器 $CONTAINER_NAME 已存在但已停止，将重新启动"
  docker start $CONTAINER_NAME
  exit 0
fi

# 启动容器
echo "启动容器 $CONTAINER_NAME..."
docker run -d \
  --name $CONTAINER_NAME \
  -v "$CONFIG_FILE:/root/config.yaml" \
  -v "$LOGS_DIR:/root/logs/" \
  -v "$OTHER_DIR:/root/webapp_attachments/" \
  $IMAGE_NAME \
  bash /root/scripts/uv_run.sh start \

# 检查容器启动状态
if [ $? -eq 0 ]; then
  echo "容器 $CONTAINER_NAME 启动成功"
else
  echo "容器 $CONTAINER_NAME 启动失败"
fi